package cn.com.bluemoon.daps.sync.core.sync.sql.mysql.datatype.date;

import java.util.Collections;
import java.util.Set;

/**
 * @author Jarod.Kong
 * @date 2021/7/22 11:14
 */
public class DateTimeDataType extends DateAndTimeDataType {
    private final DateAndTimeDataType dataType;

    public DateTimeDataType(DateAndTimeDataType dataType) {
        this.dataType = dataType;
    }

    public DateTimeDataType() {
        this.dataType = new TimestampDataType();
    }

    /**
     * 默认值处理
     * 是否加单引号 等
     *
     * @param defaultValue source
     * @return target
     */
    @Override
    public Object cast(Object defaultValue) {
        return dataType.cast(defaultValue);
    }

    @Override
    public Set<String> name() {
        return Collections.singleton("datetime");
    }
}
